/**
 * 入口
 */
// 加载express模块
var express = require('express');
// 加载模块处理模块
var swig = require('swig');
// 加载数据库
var mongoose = require('mongoose');
// 创建app应用 
var app = express();
// 加载body-parser,用来处理Post提交过来的数据
var bodyParser = require('body-parser');

// 设置静态文件托管
// 当用户访问的url以/public(第一个参数)开始,那么直接返回__dirname + '/public'
app.use('/public', express.static(__dirname + '/public'));

// 配置应用模块
// 定义当前用用所使用的模板引擎
// 第一个参数:模板引擎的名称,同时也是模板文件的后缀;第二个参数表示用于解析处理模板内容的方法
app.engine('html', swig.renderFile);
// 设置模板文件存放的目录,第一个参数必须是views,第二个参数是目录
app.set('views', './views');
// 注册所使用的模板引擎，第一个参数必须是 view engine, 第二个参数和app.engine第一个参数一致
app.set('view engine', 'html');
// 在开发过程中，需要取消模板缓存
swig.setDefaults({ cache: false });
// body-parser设置
app.use(bodyParser.urlencoded({ extended: true }));
/**
 * 根据不同的功能划分
 */
app.use('/admin', require('./routers/admin'));
app.use('/api', require('./routers/api'));
app.use('/', require('./routers/main'));

// 监听http请求
mongoose.connect('mongodb://localhost:27017/blog', { useMongoClient: true });
var connection = mongoose.connection;
connection.on('error', function (err) {
  if (err) {
    console.log(err);
  }
});
connection.on('open', function () {
  console.log('连接成功');

  app.listen(8081);
});